//package com.designPattern.interfaceSegregationPrinciple;
//
///**
// * @author zsj
// * @date 2023/5/11 17:04
// */
//public class InterfaceSegregation {
//}
//
//
///**
// * 下面写的就是大便
// *
// * 遵循接口隔离原则  就需要把接口拆分为几个接口 不同类使用的接口功能不同 作为几个即可写出来即可
// * 使这些类不在需要重写 自己不需要的功能方法
// */
//interface Interface_one {
//    void f1();
//
//    void f2();
//
//    void f3();
//
//    void f4();
//
//    void f5();
//}
//
//class B implements Interface_one {
//
//    @Override
//    public void f1() {
//        System.out.println("B 实现了 f1");
//    }
//
//    @Override
//    public void f2() {
//        System.out.println("B 实现了 f2");
//
//    }
//
//    @Override
//    public void f3() {
//        System.out.println("B 实现了 f3");
//
//    }
//
//    @Override
//    public void f4() {
//        System.out.println("B 实现了 f4");
//
//    }
//
//    @Override
//    public void f5() {
//        System.out.println("B 实现了 f5");
//
//    }
//}
//
//
//class D implements Interface_one {
//
//    @Override
//    public void f1() {
//        System.out.println("D 实现了 f1");
//    }
//
//    @Override
//    public void f2() {
//        System.out.println("D 实现了 f2");
//
//    }
//
//    @Override
//    public void f3() {
//        System.out.println("D 实现了 f3");
//
//    }
//
//    @Override
//    public void f4() {
//        System.out.println("D 实现了 f4");
//
//    }
//
//    @Override
//    public void f5() {
//        System.out.println("D 实现了 f5");
//
//    }
//}
//
//class A {
//    //A  类通过接口Interface_one 依赖使用 B类 但是只会使用到1，2，3
//    public void depend1(Interface_one i) {
//        i.f1();
//    }
//
//    public void depend2(Interface_one i) {
//        i.f2();
//    }
//
//    public void depend3(Interface_one i) {
//        i.f3();
//    }
//
//    public void depend4(Interface_one i) {
//        i.f4();
//    }
//
//    public void depend5(Interface_one i) {
//        i.f5();
//    }
//}
//
//class C {
//    //C类只使用到了145 方法
//    public void depend1(Interface_one i) {
//        i.f1();
//    }
//
//    public void depend4(Interface_one i) {
//        i.f4();
//    }
//
//    public void depend5(Interface_one i) {
//        i.f5();
//    }
//}